Перем ЮнитТест;

#Область ОбработчикиСобытийМодуля

Функция Версия() Экспорт
	Возврат "1.0";
КонецФункции

Функция ПолучитьСписокТестов(МенеджерТестирования) Экспорт
	
	ЮнитТест = МенеджерТестирования;

	СписокТестов = Новый Массив;
	СписокТестов.Добавить("ТестСуществование");
	СписокТестов.Добавить("TestExistance");
	СписокТестов.Добавить("ТестДобавлениеЭлемента");

	Возврат СписокТестов;

КонецФункции

#КонецОбласти

#Область ОбработчикиТестирования

Процедура ТестСуществование() Экспорт

	СхемаXML = Новый СхемаXML;
	Коллекция = СхемаXML.Компоненты;

	ЮнитТест.ПроверитьРавенство(ТипЗнч(Коллекция), Тип("ФиксированныйСписокКомпонентXS"));
	ЮнитТест.ПроверитьРавенство(Коллекция.Количество(), 0);
	
КонецПроцедуры

Procedure TestExistance() Export

	Schema = New XMLSchema;
	Collection = Schema.Components;

	ЮнитТест.ПроверитьРавенство(TypeOf(Collection), Type("XSComponentFixedList"));
	ЮнитТест.ПроверитьРавенство(Collection.Count(), 0);

EndProcedure

Процедура ТестДобавлениеЭлемента() Экспорт

	СхемаXML = Новый СхемаXML;
	Коллекция = СхемаXML.Компоненты;

	Элемент = Новый ОбъявлениеЭлементаXS;
	СхемаXML.Содержимое.Добавить(Элемент);

	ЮнитТест.ПроверитьРавенство(Коллекция.Количество(), 1);
	ЮнитТест.ПроверитьИстину(Коллекция.Содержит(Элемент));
	ЮнитТест.ПроверитьРавенство(Коллекция.Получить(0), Элемент);
	
КонецПроцедуры

#КонецОбласти